package com.kaikeba.dao;

import com.kaikeba.bean.BordUserInfo;
import com.kaikeba.bean.User;

import java.util.List;
import java.util.Map;

public interface BaseUserDao {

    /**
     * 查询用户总数和当日新增
     * @return
     */
    public List<Map<String,Integer>> console();

    /**
     * 查询所有用户手机号
     * @return
     */
    List<String> findUserPhone();

    /**
     * 分页查询所有用户
     * @return 每页用户的集合
     */
    List<User> findAll(boolean limit,int offset,int pageNumber);

    /**
     * 根据手机号查询用户信息
     * @param userPhone 用户手机号
     * @return 返回单个用户的信息
     */
    User findByUserPhone(String userPhone);

    /**
     * 增加新用户
     * @param user 用户
     * @return 添加成功返回true,失败返回false
     */
    boolean add(User user);

    boolean update(User user);

    /**
     * 根据手机号删除用户信息
     * @param userPhone 用户手机号
     * @return
     */
    boolean delete(String userPhone);

    /**
     * 根据手机号删除用户信息
     * @param id 用户id
     * @return
     */
    boolean deleteById(int id);

    /**
     * 得到总排名
     * @return
     */
    List<BordUserInfo> getRank();

    /**
     * 得到年排名
     * @return
     */
    List<BordUserInfo> getRankByYear();

    /**
     * 得到月排名
     * @return
     */
    List<BordUserInfo> getRankByMonth();

}
